<!DOCTYPE html>
<html>
<head>
<meta http-equiv='content-type' content='text/html; charset=utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<title>What is LightWAVE?</title>
<link rel="stylesheet" href="../css/lightwave.css">
</head>

<h2>What is LightWAVE?</h2>

<p> <b>LightWAVE</b> is a lightweight waveform and annotation viewer and editor.
Use it to view any of the recordings of physiologic signals and time series
in <a href="http://physionet.org/physiobank/database/">PhysioBank</a>, together
with their annotations (event markers).

<p> LightWAVE runs within <a href="browser-compatibility.html">any modern web
browser</a> and does not require installation on the user's computer, tablet, or
phone.  LightWAVE is free software licensed under the <a
href="COPYING.html">GPL</a>.

<hr>

<p> <b>LightWAVE's data repository</b> is
<a href="http://physionet.org/physiobank/database/">PhysioBank</a> by default,
or any set of files structured as in PhysioBank (with <tt>DBS</tt>,
<tt>RECORDS</tt>, and <tt>ANNOTATORS</tt> text indices and WFDB-compatible
binary data files).

<p> <b>LightWAVE's back end</b> is a CGI application written in C for speed and
efficiency.  It retrieves data from its data repository and delivers them in
response to requests generated by the front end.  It has been tested
successfully using Apache (on Fedora 64-bit Linux and Ubuntu 32-bit Linux); it
does not have explicit system dependencies and should be usable with Apache
(and, possibly, with other web servers) on other platforms.  The back end can
also be run as an interactive or scripted command-line application for testing,
debugging, and possibly other purposes I haven't dreamed up just yet.  The
source package contains a shell script (<tt>lw-test</tt>) that demonstrates
command-line usage.  The API is designed to ease development of alternative
front ends with the aim of encouraging experimentation.

<p> <b>LightWAVE's front end</b> is a web application written in JavaScript.
Optimum buzzword compliance, browser independence, and general cross-platform
goodness, are achieved via HTML5, CSS, and JavaScript/jQuery-generated Ajax
requests for JSON-formatted data transformed into SVG elements that are
dynamically injected into the DOM.

<p> LightWAVE's data repository, back end, and front end can be located on the
same computer or on separate computers.  (The data repository may be split
across multiple computers.)

<p>George Moody<br>
15 January 2013
